
#ifndef COMPUERTA_H_
#define COMPUERTA_H_

#include "ElementoCircuital.h"
#include <list>
#include "Conexion.h"

class Compuerta : public ElementoCircuital{
protected:
	Conexion* entrada_1;
	Conexion* entrada_2;
	int tiempo_transicion;
public:
	Compuerta(int x, int y, int ID, int tiempo);
	virtual ~Compuerta();
	virtual bool calcular_salida(int nro_salida,int& t_transicion)=0;
	int get_tiempo(){return tiempo_transicion;}
	virtual void desconectar_entrada(int nro);
	virtual void set_entrada(Conexion* cable);
	void liberar_entradas();
	Conexion* get_entrada1(){return entrada_1;};
	Conexion* get_entrada2(){return entrada_2;};
	virtual bool ready();
};

#endif /* COMPUERTA_H_ */
